package com.ccp.dev.workflow.dao;

import com.ccp.dev.core.basic.base.IBaseMapper;
import com.ccp.dev.workflow.bpminterface.IActDefMapper;
import com.ccp.dev.workflow.model.BpmNodeScript;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

/**
 * ClassDescribe:流程节点事件脚本 Dao类
 * @author :jiayueqiao
 * Date: 2019-07-03
 * Since:1
 */
public interface BpmNodeScriptDao extends IBaseMapper<BpmNodeScript,String>, IActDefMapper {

    /**
     * 根据actdefId、节点Id、脚本类型获取脚本对象
     * @param params 参数map
     * @return 脚本对象
     */
    BpmNodeScript getScriptByType(Map<String, Object> params);

    /**
     * 根据节点获取脚本列表代码。
     * @param nodeId
     * @param procDefId
     *@return 脚本对象列表
     */
    List<BpmNodeScript> queryBpmNodeScript(@Param("nodeId") String nodeId,@Param("procDefId") String procDefId);

    /**
     * 根据定义id和节点id删除脚本
     * @param params 参数
     */
    public void delByDefAndNodeId(Map<String, Object> params);

    /**
     * 根据flowable流程定义id获取脚本
     * @param procDefId
     * @return
     */
    List<BpmNodeScript> queryByProcDefId(String procDefId);
}
